/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.distrimas.senta.dominio.compras.calificacion;

import com.distrimas.senta.dominio.compras.ordencompra.OrdenCompraDTO;
import com.distrimas.senta.servicios.conexion.Conexion;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

/**
 *
 * @author Administrador
 */
public class CalificacionDAO {
  private static CalificacionDAO dao;
    public static CalificacionDAO getCalificacionDAO(){
        if(getDao()==null){
            setDao(new CalificacionDAO());
        }
        return getDao();
    }


    public boolean ingresaCalificacion(CalificacionDTO calificacion){
        boolean resultado=true;
        Connection cone=null;
        try {
            cone=Conexion.getConnection();
            PreparedStatement p = cone.prepareStatement(CalificacionDAOHelper.ingresarCalificacion());
            p.setString(1, calificacion.getOrdenCompra().getCodigo());
            p.setString(2, calificacion.getCalificador().getId());
            p.setString(3, calificacion.getCriterio().getCodigo());
            p.setFloat(4, calificacion.getValor());
            p.execute();
        } catch (Exception e) {
            e.printStackTrace();
            resultado=false;
        }finally{
            try {
             Conexion.returnConnection(cone);
            } catch (Exception e) {
            }
        }
        return resultado;
    }

    public boolean Encontrado(OrdenCompraDTO codigo){
        OrdenCompraDTO resultado=new OrdenCompraDTO();
        boolean resu=false;
        Connection cone=null;
        try {
            cone=Conexion.getConnection();
            PreparedStatement p = cone.prepareStatement(CalificacionDAOHelper.OCExistente());
            p.setString(1, codigo.getCodigo());
            ResultSet r= p.executeQuery();
            while(r.next()){
             resultado.setCodigo(r.getString(1));
             resu = true;
            }
        }  catch (Exception e) {
        }finally{
            try{
              Conexion.returnConnection(cone);
            }catch(Exception e){}
        }
        return resu;
    }

     /**
     * @return the dao
     */
    public static CalificacionDAO getDao() {
        return dao;
    }

    /**
     * @param aDao the dao to set
     */
    public static void setDao(CalificacionDAO aDao) {
        dao = aDao;
    }
}
